package com.cmc.cloud.cmclink.doc.service.si;

import java.util.List;

import org.springframework.web.multipart.MultipartFile;

import com.cmc.cloud.cmclink.doc.api.document.rep.sendarrivaldto.BlnoArrivalNoticeDTO;
import com.cmc.cloud.cmclink.doc.api.document.rep.sendarrivaldto.BlnoSendArrivalReqDTO;
import com.cmc.cloud.cmclink.doc.vo.blnovo.arrivalnoticevo.DownloadAndSendEmailVO;
import com.cmc.cloud.cmclink.doc.vo.blnovo.operatevo.BlnoSendArrivalReqVO;

/**
 * 到货通知
 * 
 * @author dev89
 * @date 2025/10/01 14:16
 **/
public interface BlnoArrivalNoticeService {

    /**
     * 生成pdf
     *
     * @param currentPort 当前港口
     * @param blnoId      blnoId
     * @param url
     * @return 文件流
     */
    MultipartFile genArrivalNoticePdfUrl(String currentPort, Long blnoId, String url);

    /**
     * 到货通知
     *
     * @param reqVO 请求参数
     */
    void sendArrivalNotice(BlnoSendArrivalReqVO reqVO);

    /**
     * 到货通知
     *
     * @param req 请求参数
     * @return map
     */
    BlnoArrivalNoticeDTO queryArrivalNotice(BlnoSendArrivalReqDTO req);

    /**
     * 下载附件并发送邮件
     *
     * @param reqList 请求参数
     */
    void downloadAndSendEmail(List<DownloadAndSendEmailVO> reqList);
}
